#ifndef COMMON_H
#define COMMON_H

#define DEBUG_MODE 0 // 1 - debug mode, 0 - auto mode
#define MANUAL_CONTROL // should be commented out when not needed

#define MAX_TRAJ_SIZE 100

#define NUM_OF_WHEELS 4
#define MAX_SPD 2
#define RADIUS_OF_WHEELS 0.05
#define PAYLOAD 3
#define LENGTH 0.2

#define PI 3.1415926

#define DRIVE_CTRL_LOOP_RATE 10 //10 Hz
#define CAMERA_LOOP_RATE 20 // 20 Hz
#define POLL_RATE 100 // 100 Hz

#define TEAM_COLOUR robots_yellow //robots_yellow or robots_blue
#define PLAYER_ID 1 // valid from 1 - 6

// a structure describes the robot's position
struct pos_t
{
   double x;
   double y;
};

struct spd_t
{
   double x;
   double y;
   double omega;
};

struct waypt_t
{
   pos_t pos;
   double heading;
   double Tstamp;
};

enum ErrCode_t
{
   NO_ERR,
   MEM_EXHAUSTED,
   TRAJ_SIZE_EXCEEDS_LIMIT,
   FAIL_TO_START
};

enum DriveTrainMode_t
{
   RUNNING,
   PAUSED,
   STANDBY
};

#endif

